using System.Diagnostics;

namespace InfiniTec.DirectoryServices
{
    /// <summary>
    /// This class contains information about translation attempt.
    /// </summary>
    public class TranslationResult
    {
        private readonly TranslationStatus _Status;
        private readonly string _InputName;
        private readonly string _Domain;
        private readonly string _TranslatedName;

        /// <summary>
        /// Gets the translated name.
        /// </summary>
        /// <value>The translated name.</value>
        public string TranslatedName
        {
            [DebuggerStepThrough]
            get { return _TranslatedName; }
        }

        /// <summary>
        /// Gets the domain.
        /// </summary>
        /// <value>The domain.</value>
        public string Domain
        {
            [DebuggerStepThrough]
            get { return _Domain; }
        }

        /// <summary>
        /// Gets the original name.
        /// </summary>
        /// <value>The original name.</value>
        public string InputName
        {
            [DebuggerStepThrough]
            get { return _InputName; }
        }

        /// <summary>
        /// Gets the status of the translation process.
        /// </summary>
        /// <value>The status.</value>
        public TranslationStatus Status
        {
            [DebuggerStepThrough]
            get { return _Status; }
        }

        internal TranslationResult(TranslationStatus status, string inputName, string translatedName, string domain)
        {
            _Status = status;
            _TranslatedName = translatedName;
            _InputName = inputName;
            _Domain = domain;
        }
    }
}
